This invention relates, in general, to managing processor resources of a computer system and, in particular, to providing appropriate processor resources to present smooth, uninterrupted real-time data streams, while enabling other types of applications and work to concurrently execute on the same system.
Delivery of quality real-time data streams has been and continues to be an important concern in the computer environment. Real-time data streams include, for instance, video, audio and multimedia data streams, to name a few. Currently, two approaches are used to deliver real-time data streams: configuration control and high dispatch priority, each of which is described below.
In the configuration control approach, a server is dedicated to the delivery of real-time data streams. In particular, the server is configured with sufficient capacity to deliver real-time data streams at a given rate. Since the server is dedicated to the delivery of real-time data streams, the-real-time streams monopolize the system resources leaving very little, if anything at all, for other types of work.
In the high dispatch priority approach, the real-time applications are run at a very high dispatch priority. This technique need not be run on a dedicated system; however, by running the real-time applications at a very high priority, again, there is no control or guarantee that other work in the system will receive sufficient resources to execute.
Thus, a need exists for a mechanism that delivers real-time data streams smoothly and uninterrupted, while providing a desired amount of the processor resource for other work to be concurrently executed on the system. A further need exists for a management mechanism that allows a limit to be placed on the amount of resource allocated to real-time data streams, such that a selected amount of the resource remains available for non-real-time work.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a system of managing processor resources in a computer system. In one example, the system includes a resource manager adapted to allocate an amount of a processor resource to a real-time application of the computer system. The amount is not to exceed a limit chosen for a group of one or more real-time applications. A selected amount of the processor resource remains available for at least one non-real-time application of the computer system. Additionally, the system includes means for processing the real-time application.
In a further embodiment of the present invention, the means for processing includes means for preventing the real-time application from exceeding a maximum amount of the processor resource selected for the group of real-time applications.
In yet a further embodiment, the resource manager includes a determination unit adapted to determine a highest service cost, within a given period of time, for delivering a real-time data rate; a calculation unit adapted to calculated a service rate for delivering a real-time data stream of the real-time application; and an indicator adapted to specify that a sufficient amount of the processor resource is available for the real-time data stream when the service rate falls within the limit.
In another aspect of the present invention, a system of managing processor resources in a computer system is provided. In one example, the system includes a selected amount of a processor resource allocatable to a group of one or more real-time applications of the computer system; and a chosen amount of the processor resource reserved for one or more non-real-time applications of the computer system.
The management capability of the present invention advantageously enables the selection of a particular amount of a processor resource to be utilized by real-time applications, while preserving a chosen amount of the resource for non-real-time applications. Additionally, the management capability of the invention prevents the real-time applications from overrunning the computer system. Real-time applications can run smoothly and uninterrupted, while other types of work can also be processed on the system.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.